<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>LiquidFun: b2Contact Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">LiquidFun
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-types">Protected Types</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-static-methods">Static Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pro-static-attribs">Static Protected Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classb2_contact-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">b2Contact Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="b2_contact_8h_source.html">b2Contact.h</a>&gt;</code></p>

<p>Inherited by <a class="el" href="classb2_chain_and_circle_contact.html">b2ChainAndCircleContact</a>, <a class="el" href="classb2_chain_and_polygon_contact.html">b2ChainAndPolygonContact</a>, <a class="el" href="classb2_circle_contact.html">b2CircleContact</a>, <a class="el" href="classb2_edge_and_circle_contact.html">b2EdgeAndCircleContact</a>, <a class="el" href="classb2_edge_and_polygon_contact.html">b2EdgeAndPolygonContact</a>, <a class="el" href="classb2_polygon_and_circle_contact.html">b2PolygonAndCircleContact</a>, and <a class="el" href="classb2_polygon_contact.html">b2PolygonContact</a>.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ab0597077b23615476327f9b32d9c4979"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structb2_manifold.html">b2Manifold</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#ab0597077b23615476327f9b32d9c4979">GetManifold</a> ()</td></tr>
<tr class="separator:ab0597077b23615476327f9b32d9c4979"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a1fb2fa1e0956faf61047c4aba3da5a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2a1fb2fa1e0956faf61047c4aba3da5a"></a>
const <a class="el" href="structb2_manifold.html">b2Manifold</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetManifold</b> () const </td></tr>
<tr class="separator:a2a1fb2fa1e0956faf61047c4aba3da5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a30a44a28b44754cb61bba65cb5b728"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6a30a44a28b44754cb61bba65cb5b728"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#a6a30a44a28b44754cb61bba65cb5b728">GetWorldManifold</a> (<a class="el" href="structb2_world_manifold.html">b2WorldManifold</a> *worldManifold) const </td></tr>
<tr class="memdesc:a6a30a44a28b44754cb61bba65cb5b728"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the world manifold. <br/></td></tr>
<tr class="separator:a6a30a44a28b44754cb61bba65cb5b728"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a367dc9a563ad7db5547f4247777a33c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a367dc9a563ad7db5547f4247777a33c9"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#a367dc9a563ad7db5547f4247777a33c9">IsTouching</a> () const </td></tr>
<tr class="memdesc:a367dc9a563ad7db5547f4247777a33c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this contact touching? <br/></td></tr>
<tr class="separator:a367dc9a563ad7db5547f4247777a33c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6edf582f8c161d6632854cddefe55a0c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#a6edf582f8c161d6632854cddefe55a0c">SetEnabled</a> (bool flag)</td></tr>
<tr class="separator:a6edf582f8c161d6632854cddefe55a0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7bd71ee1b0bb352bec6eeaab4f91c6a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae7bd71ee1b0bb352bec6eeaab4f91c6a"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#ae7bd71ee1b0bb352bec6eeaab4f91c6a">IsEnabled</a> () const </td></tr>
<tr class="memdesc:ae7bd71ee1b0bb352bec6eeaab4f91c6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Has this contact been disabled? <br/></td></tr>
<tr class="separator:ae7bd71ee1b0bb352bec6eeaab4f91c6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebfebb1e4b27dc0bd7aa120093e3d650"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aebfebb1e4b27dc0bd7aa120093e3d650"></a>
<a class="el" href="classb2_contact.html">b2Contact</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#aebfebb1e4b27dc0bd7aa120093e3d650">GetNext</a> ()</td></tr>
<tr class="memdesc:aebfebb1e4b27dc0bd7aa120093e3d650"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the next contact in the world's contact list. <br/></td></tr>
<tr class="separator:aebfebb1e4b27dc0bd7aa120093e3d650"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55e20c9e32071f492952dad256552141"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55e20c9e32071f492952dad256552141"></a>
const <a class="el" href="classb2_contact.html">b2Contact</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetNext</b> () const </td></tr>
<tr class="separator:a55e20c9e32071f492952dad256552141"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a707a3a5a14c2cdd4c6eb7fc648d76037"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a707a3a5a14c2cdd4c6eb7fc648d76037"></a>
<a class="el" href="classb2_fixture.html">b2Fixture</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#a707a3a5a14c2cdd4c6eb7fc648d76037">GetFixtureA</a> ()</td></tr>
<tr class="memdesc:a707a3a5a14c2cdd4c6eb7fc648d76037"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get fixture A in this contact. <br/></td></tr>
<tr class="separator:a707a3a5a14c2cdd4c6eb7fc648d76037"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af5820afc8ebb6d785a47a979b373b004"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5820afc8ebb6d785a47a979b373b004"></a>
const <a class="el" href="classb2_fixture.html">b2Fixture</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetFixtureA</b> () const </td></tr>
<tr class="separator:af5820afc8ebb6d785a47a979b373b004"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0c9c059c776f315ae62abb5c978afcc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab0c9c059c776f315ae62abb5c978afcc"></a>
int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#ab0c9c059c776f315ae62abb5c978afcc">GetChildIndexA</a> () const </td></tr>
<tr class="memdesc:ab0c9c059c776f315ae62abb5c978afcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the child primitive index for fixture A. <br/></td></tr>
<tr class="separator:ab0c9c059c776f315ae62abb5c978afcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68464fe587d7e6a1f52763e965bb7361"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a68464fe587d7e6a1f52763e965bb7361"></a>
<a class="el" href="classb2_fixture.html">b2Fixture</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#a68464fe587d7e6a1f52763e965bb7361">GetFixtureB</a> ()</td></tr>
<tr class="memdesc:a68464fe587d7e6a1f52763e965bb7361"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get fixture B in this contact. <br/></td></tr>
<tr class="separator:a68464fe587d7e6a1f52763e965bb7361"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06db543279afbb51071bf57475bfcc1e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a06db543279afbb51071bf57475bfcc1e"></a>
const <a class="el" href="classb2_fixture.html">b2Fixture</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>GetFixtureB</b> () const </td></tr>
<tr class="separator:a06db543279afbb51071bf57475bfcc1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9edc26022c3d1a9cf1dab9d79d639b3f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9edc26022c3d1a9cf1dab9d79d639b3f"></a>
int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#a9edc26022c3d1a9cf1dab9d79d639b3f">GetChildIndexB</a> () const </td></tr>
<tr class="memdesc:a9edc26022c3d1a9cf1dab9d79d639b3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the child primitive index for fixture B. <br/></td></tr>
<tr class="separator:a9edc26022c3d1a9cf1dab9d79d639b3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e8fbb6bb2966ac84272bb0ea9d2e4c7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#a5e8fbb6bb2966ac84272bb0ea9d2e4c7">SetFriction</a> (float32 friction)</td></tr>
<tr class="separator:a5e8fbb6bb2966ac84272bb0ea9d2e4c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b6daf4137fd1719961f5d780b8dda15"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0b6daf4137fd1719961f5d780b8dda15"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#a0b6daf4137fd1719961f5d780b8dda15">GetFriction</a> () const </td></tr>
<tr class="memdesc:a0b6daf4137fd1719961f5d780b8dda15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the friction. <br/></td></tr>
<tr class="separator:a0b6daf4137fd1719961f5d780b8dda15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad66d9290da187cef4c9f48c5766d4460"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad66d9290da187cef4c9f48c5766d4460"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#ad66d9290da187cef4c9f48c5766d4460">ResetFriction</a> ()</td></tr>
<tr class="memdesc:ad66d9290da187cef4c9f48c5766d4460"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the friction mixture to the default value. <br/></td></tr>
<tr class="separator:ad66d9290da187cef4c9f48c5766d4460"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24ca342c2bb766c53ef5ad04f5268fc1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#a24ca342c2bb766c53ef5ad04f5268fc1">SetRestitution</a> (float32 restitution)</td></tr>
<tr class="separator:a24ca342c2bb766c53ef5ad04f5268fc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed12746a2855277479802144b699326b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aed12746a2855277479802144b699326b"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#aed12746a2855277479802144b699326b">GetRestitution</a> () const </td></tr>
<tr class="memdesc:aed12746a2855277479802144b699326b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the restitution. <br/></td></tr>
<tr class="separator:aed12746a2855277479802144b699326b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a243501bc5c146e9eb1296162d328aef1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a243501bc5c146e9eb1296162d328aef1"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#a243501bc5c146e9eb1296162d328aef1">ResetRestitution</a> ()</td></tr>
<tr class="memdesc:a243501bc5c146e9eb1296162d328aef1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset the restitution to the default value. <br/></td></tr>
<tr class="separator:a243501bc5c146e9eb1296162d328aef1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32033914a6c7f35b469e8fddbc17c566"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a32033914a6c7f35b469e8fddbc17c566"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#a32033914a6c7f35b469e8fddbc17c566">SetTangentSpeed</a> (float32 speed)</td></tr>
<tr class="memdesc:a32033914a6c7f35b469e8fddbc17c566"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the desired tangent speed for a conveyor belt behavior. In meters per second. <br/></td></tr>
<tr class="separator:a32033914a6c7f35b469e8fddbc17c566"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a961417ed0d43706ee8a39c396d5e6002"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a961417ed0d43706ee8a39c396d5e6002"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#a961417ed0d43706ee8a39c396d5e6002">GetTangentSpeed</a> () const </td></tr>
<tr class="memdesc:a961417ed0d43706ee8a39c396d5e6002"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the desired tangent speed. In meters per second. <br/></td></tr>
<tr class="separator:a961417ed0d43706ee8a39c396d5e6002"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3c2842e5325b2d4500f8ed1d4de2f72"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae3c2842e5325b2d4500f8ed1d4de2f72"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#ae3c2842e5325b2d4500f8ed1d4de2f72">Evaluate</a> (<a class="el" href="structb2_manifold.html">b2Manifold</a> *manifold, const <a class="el" href="structb2_transform.html">b2Transform</a> &amp;xfA, const <a class="el" href="structb2_transform.html">b2Transform</a> &amp;xfB)=0</td></tr>
<tr class="memdesc:ae3c2842e5325b2d4500f8ed1d4de2f72"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluate this contact with your own manifold and transforms. <br/></td></tr>
<tr class="separator:ae3c2842e5325b2d4500f8ed1d4de2f72"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
Protected Types</h2></td></tr>
<tr class="memitem:a9938b161c333fee9a2794d248d3d7038"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<b>e_islandFlag</b> = 0x0001, 
<b>e_touchingFlag</b> = 0x0002, 
<b>e_enabledFlag</b> = 0x0004, 
<b>e_filterFlag</b> = 0x0008, 
<br/>
&#160;&#160;<b>e_bulletHitFlag</b> = 0x0010, 
<b>e_toiFlag</b> = 0x0020
<br/>
 }</td></tr>
<tr class="separator:a9938b161c333fee9a2794d248d3d7038"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a44a3d32149021269eb9dfd4015c98e0d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a44a3d32149021269eb9dfd4015c98e0d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classb2_contact.html#a44a3d32149021269eb9dfd4015c98e0d">FlagForFiltering</a> ()</td></tr>
<tr class="memdesc:a44a3d32149021269eb9dfd4015c98e0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag this contact for filtering. Filtering will occur the next time step. <br/></td></tr>
<tr class="separator:a44a3d32149021269eb9dfd4015c98e0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d1c98399cef1eb95c6ee8aad8257f60"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2d1c98399cef1eb95c6ee8aad8257f60"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>b2Contact</b> (<a class="el" href="classb2_fixture.html">b2Fixture</a> *fixtureA, int32 indexA, <a class="el" href="classb2_fixture.html">b2Fixture</a> *fixtureB, int32 indexB)</td></tr>
<tr class="separator:a2d1c98399cef1eb95c6ee8aad8257f60"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a218a66a6c34e3de1c428aa73a0680dfe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a218a66a6c34e3de1c428aa73a0680dfe"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>Update</b> (<a class="el" href="classb2_contact_listener.html">b2ContactListener</a> *listener)</td></tr>
<tr class="separator:a218a66a6c34e3de1c428aa73a0680dfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-methods"></a>
Static Protected Member Functions</h2></td></tr>
<tr class="memitem:ad905650aab96ead0434c2bb449e4129c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad905650aab96ead0434c2bb449e4129c"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>AddType</b> (b2ContactCreateFcn *createFcn, b2ContactDestroyFcn *destroyFcn, b2Shape::Type typeA, b2Shape::Type typeB)</td></tr>
<tr class="separator:ad905650aab96ead0434c2bb449e4129c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac77031d85c2e06d5cdc1f5c774f8f3fd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac77031d85c2e06d5cdc1f5c774f8f3fd"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>InitializeRegisters</b> ()</td></tr>
<tr class="separator:ac77031d85c2e06d5cdc1f5c774f8f3fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2de75f3569a0f962cf1e6e1b6384c0a1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2de75f3569a0f962cf1e6e1b6384c0a1"></a>
static <a class="el" href="classb2_contact.html">b2Contact</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>Create</b> (<a class="el" href="classb2_fixture.html">b2Fixture</a> *fixtureA, int32 indexA, <a class="el" href="classb2_fixture.html">b2Fixture</a> *fixtureB, int32 indexB, <a class="el" href="classb2_block_allocator.html">b2BlockAllocator</a> *allocator)</td></tr>
<tr class="separator:a2de75f3569a0f962cf1e6e1b6384c0a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36c1f6767f212f2e4ddb4c4b2c7cdb75"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a36c1f6767f212f2e4ddb4c4b2c7cdb75"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>Destroy</b> (<a class="el" href="classb2_contact.html">b2Contact</a> *contact, b2Shape::Type typeA, b2Shape::Type typeB, <a class="el" href="classb2_block_allocator.html">b2BlockAllocator</a> *allocator)</td></tr>
<tr class="separator:a36c1f6767f212f2e4ddb4c4b2c7cdb75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab57797a25c2206edf1ad7c4dcd1cbca5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab57797a25c2206edf1ad7c4dcd1cbca5"></a>
static void&#160;</td><td class="memItemRight" valign="bottom"><b>Destroy</b> (<a class="el" href="classb2_contact.html">b2Contact</a> *contact, <a class="el" href="classb2_block_allocator.html">b2BlockAllocator</a> *allocator)</td></tr>
<tr class="separator:ab57797a25c2206edf1ad7c4dcd1cbca5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a85d5408adcbf466bcb8f291aeb35bc3b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a85d5408adcbf466bcb8f291aeb35bc3b"></a>
uint32&#160;</td><td class="memItemRight" valign="bottom"><b>m_flags</b></td></tr>
<tr class="separator:a85d5408adcbf466bcb8f291aeb35bc3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf3a3450e0fa9cf6d11ca22467c2370b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adf3a3450e0fa9cf6d11ca22467c2370b"></a>
<a class="el" href="classb2_contact.html">b2Contact</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_prev</b></td></tr>
<tr class="separator:adf3a3450e0fa9cf6d11ca22467c2370b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a241fea000d26da8761b5520a9adcd87a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a241fea000d26da8761b5520a9adcd87a"></a>
<a class="el" href="classb2_contact.html">b2Contact</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_next</b></td></tr>
<tr class="separator:a241fea000d26da8761b5520a9adcd87a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f5ce747bb04f48843eb07304d47faab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5f5ce747bb04f48843eb07304d47faab"></a>
<a class="el" href="structb2_contact_edge.html">b2ContactEdge</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_nodeA</b></td></tr>
<tr class="separator:a5f5ce747bb04f48843eb07304d47faab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4887c3acb8cb857e2bec659027539c7a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4887c3acb8cb857e2bec659027539c7a"></a>
<a class="el" href="structb2_contact_edge.html">b2ContactEdge</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_nodeB</b></td></tr>
<tr class="separator:a4887c3acb8cb857e2bec659027539c7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec94bbbb8862f09365a5af99650b5be4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec94bbbb8862f09365a5af99650b5be4"></a>
<a class="el" href="classb2_fixture.html">b2Fixture</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_fixtureA</b></td></tr>
<tr class="separator:aec94bbbb8862f09365a5af99650b5be4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83b18f0da1cfeb2c9dccc6aabed881d3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83b18f0da1cfeb2c9dccc6aabed881d3"></a>
<a class="el" href="classb2_fixture.html">b2Fixture</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>m_fixtureB</b></td></tr>
<tr class="separator:a83b18f0da1cfeb2c9dccc6aabed881d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac69d3c8f18ac653cbff658a718ab9067"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac69d3c8f18ac653cbff658a718ab9067"></a>
int32&#160;</td><td class="memItemRight" valign="bottom"><b>m_indexA</b></td></tr>
<tr class="separator:ac69d3c8f18ac653cbff658a718ab9067"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaae6d149986c7267f3e28f0c58da8a0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaaae6d149986c7267f3e28f0c58da8a0"></a>
int32&#160;</td><td class="memItemRight" valign="bottom"><b>m_indexB</b></td></tr>
<tr class="separator:aaaae6d149986c7267f3e28f0c58da8a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aebdc2c073d05ac8e544a591d2043b251"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aebdc2c073d05ac8e544a591d2043b251"></a>
<a class="el" href="structb2_manifold.html">b2Manifold</a>&#160;</td><td class="memItemRight" valign="bottom"><b>m_manifold</b></td></tr>
<tr class="separator:aebdc2c073d05ac8e544a591d2043b251"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaa231f3e9a908154f9a32af456601b6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afaa231f3e9a908154f9a32af456601b6"></a>
int32&#160;</td><td class="memItemRight" valign="bottom"><b>m_toiCount</b></td></tr>
<tr class="separator:afaa231f3e9a908154f9a32af456601b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9e75253eaac6efdb6485a8646ac553f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa9e75253eaac6efdb6485a8646ac553f"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_toi</b></td></tr>
<tr class="separator:aa9e75253eaac6efdb6485a8646ac553f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7915ef6f92d609ee0a43d518b4f9e75"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac7915ef6f92d609ee0a43d518b4f9e75"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_friction</b></td></tr>
<tr class="separator:ac7915ef6f92d609ee0a43d518b4f9e75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bc56522b4c04e28bee3542a7fc2f796"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6bc56522b4c04e28bee3542a7fc2f796"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_restitution</b></td></tr>
<tr class="separator:a6bc56522b4c04e28bee3542a7fc2f796"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70bbcb5cf7ade19ad986a6a1168e2b89"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a70bbcb5cf7ade19ad986a6a1168e2b89"></a>
float32&#160;</td><td class="memItemRight" valign="bottom"><b>m_tangentSpeed</b></td></tr>
<tr class="separator:a70bbcb5cf7ade19ad986a6a1168e2b89"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-attribs"></a>
Static Protected Attributes</h2></td></tr>
<tr class="memitem:a5e2beb4e435e1545ae043a7a2b77d1da"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5e2beb4e435e1545ae043a7a2b77d1da"></a>
static <a class="el" href="structb2_contact_register.html">b2ContactRegister</a>&#160;</td><td class="memItemRight" valign="bottom"><b>s_registers</b> [b2Shape::e_typeCount][b2Shape::e_typeCount]</td></tr>
<tr class="separator:a5e2beb4e435e1545ae043a7a2b77d1da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a672598c350694d7b9a89c45f8ad0dd90"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a672598c350694d7b9a89c45f8ad0dd90"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><b>s_initialized</b> = false</td></tr>
<tr class="separator:a672598c350694d7b9a89c45f8ad0dd90"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:aece264d42f69aed410f5eb3beba6ddf2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aece264d42f69aed410f5eb3beba6ddf2"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>b2ContactManager</b></td></tr>
<tr class="separator:aece264d42f69aed410f5eb3beba6ddf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bd536c5a7c0587913765bbc2693ceea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4bd536c5a7c0587913765bbc2693ceea"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>b2World</b></td></tr>
<tr class="separator:a4bd536c5a7c0587913765bbc2693ceea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb788a7ba90344f3ddbafff3de0465c4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb788a7ba90344f3ddbafff3de0465c4"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>b2ContactSolver</b></td></tr>
<tr class="separator:afb788a7ba90344f3ddbafff3de0465c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a010ab52de250e5fe30a45d642f46405b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a010ab52de250e5fe30a45d642f46405b"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>b2Body</b></td></tr>
<tr class="separator:a010ab52de250e5fe30a45d642f46405b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb35b0e61f6ee3cc516c40ea251f3236"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afb35b0e61f6ee3cc516c40ea251f3236"></a>
class&#160;</td><td class="memItemRight" valign="bottom"><b>b2Fixture</b></td></tr>
<tr class="separator:afb35b0e61f6ee3cc516c40ea251f3236"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The class manages contact between two shapes. A contact exists for each overlapping AABB in the broad-phase (except if filtered). Therefore a contact object may exist that has no contact points. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ab0597077b23615476327f9b32d9c4979"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structb2_manifold.html">b2Manifold</a> * b2Contact::GetManifold </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Get the contact manifold. Do not modify the manifold unless you understand the internals of Box2D. </p>

</div>
</div>
<a class="anchor" id="a6edf582f8c161d6632854cddefe55a0c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void b2Contact::SetEnabled </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>flag</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Enable/disable this contact. This can be used inside the pre-solve contact listener. The contact is only disabled for the current time step (or sub-step in continuous collisions). </p>

</div>
</div>
<a class="anchor" id="a5e8fbb6bb2966ac84272bb0ea9d2e4c7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void b2Contact::SetFriction </td>
          <td>(</td>
          <td class="paramtype">float32&#160;</td>
          <td class="paramname"><em>friction</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Override the default friction mixture. You can call this in <a class="el" href="classb2_contact_listener.html#a416f85eb45a1099053402b15a19a7de0">b2ContactListener::PreSolve</a>. This value persists until set or reset. </p>

</div>
</div>
<a class="anchor" id="a24ca342c2bb766c53ef5ad04f5268fc1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void b2Contact::SetRestitution </td>
          <td>(</td>
          <td class="paramtype">float32&#160;</td>
          <td class="paramname"><em>restitution</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Override the default restitution mixture. You can call this in <a class="el" href="classb2_contact_listener.html#a416f85eb45a1099053402b15a19a7de0">b2ContactListener::PreSolve</a>. The value persists until you set or reset. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="b2_contact_8h_source.html">b2Contact.h</a></li>
<li>b2Contact.cpp</li>
</ul>
</div><!-- contents -->
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-46159502-1', 'auto');
ga('create', 'UA-49880327-7', 'auto', {'name': 'liquidFunTracker'});
ga('send', 'pageview');
ga('liquidFunTracker.send', 'pageview');
</script>
</body>
</html>
